<?
/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Evento_exe( $this );
		
	class Evento_exe extends Exe
	{
		function Evento_exe( &$oModule )
			{
				$this->Exe( $oModule );
			}
		// MODIFICAR_EVENTO
		function update()
			{
				// Convierte a variables los datos del Formulario asociado a la accion
				$oForm = $this->oModule->loadClass( 'Evento_frm' );
				extract( $oForm->getFieldArray() );
				// Agrega o Modifica el Domicilio
					$oModAministracion =& loadModule('administracion');
					$oModAministracion->setSubModule('entidades');
					//$oDomicilio = $oModAdministracion->loadClass( 'domicilio_exe' );
					//$ncDomicilio = $oDomicilio->save();				
					$cPublico = $oForm->aFields['cPublico']->getValueString(',');
				// Modifica el Registro de Evento
					$this->oDatabase->update("gtEvento",
									"cdEvento", $cdEvento,
									"ncTipoEvento", $ncTipoEvento,
									"ncParticipacion", $ncParticipacion,
									"cDescripcion", $cDescripcion,
									"cDonde", $cDonde,
									"ncUbicacion", $ncUbicacion,
									"cIntervienen", $cIntervienen,
									"cPublico", $cPublico,
									"ncTema", $ncTema,
									"dDesde", $dDesde,
									"dHasta", $dHasta,
									"ncOrganizacion", $ncOrganizacion,
									"cSigla", $cSigla,
									"cPaginaWeb", $cPaginaWeb, 
									"cObjetivo", $cObjetivo, 
									"WHERE",
									"ncEvento", $ncEvento );
				$this->setInputData(  $ncEvento, $cdEvento  );
				$oForm->reset();
			}
		// AGREGAR_EVENTO
		function insert()
			{
				// Convierte a variables los datos del Formulario asociado a la accion
				$oForm = $this->oModule->loadClass( 'Evento_frm' );
				extract( $oForm->getFieldArray() );
				// Agrega o Modifica el Domicilio
					//$oModAministracion =& loadModule('administracion');
					//$oModAministracion->setSubModule('entidades');
					//$oDomicilio = $oModAdministracion->loadClass( 'domicilio_exe' );
					//$ncDomicilio = $oDomicilio->save();
					$cPublico = $oForm->aFields['cPublico']->getValueString(',');
				// Agrega la Evento
					$ncEvento = $this->oDatabase->nextKey("gtEvento", "ncEvento");
					$this->oDatabase->insert("gtEvento",
									"cdEvento", $cdEvento,
									"ncTipoEvento", $ncTipoEvento,
									"ncParticipacion", $ncParticipacion,
									"cDescripcion", $cDescripcion,
									"cDonde", $cDonde,
									"ncUbicacion", $ncUbicacion,
									"cIntervienen", $cIntervienen,
									"cPublico", $cPublico,									
									"ncTema", $ncTema,
									"dDesde", $dDesde,
									"dHasta", $dHasta,
									"ncOrganizacion", $ncOrganizacion,
									"cSigla", $cSigla,
									"cPaginaWeb", $cPaginaWeb, 
									"cObjetivo", $cObjetivo, 
									"bCancelado", 0, 
									"ncEvento", $ncEvento );
				// Redirecciona la siguiente accion
				//echo $this->oDatabase->cSql;
				$this->setInputData(  $ncEvento, $cdEvento  );
				$oForm->reset();				
			}
		// ELIMINAR_EVENTO
		function undoCancel()
			{
				$ncEvento = getParam( 'ncEvento' );
				if ( $ncEvento  )
				{
					$this->oDatabase->update( "gtEvento", "bCancelado", false,  
									"WHERE", "ncEvento", $ncEvento  );
				}
			}
		function cancel()
			{
				$ncEvento = getParam( 'ncEvento' );
				if ( $ncEvento  )
				{
					$this->oDatabase->update( "gtEvento", "bCancelado", true,  
									"WHERE", "ncEvento", $ncEvento  );
				}
			}
		function delete()
			{
				$ncEvento = getParam( 'ncEvento' );
				if ( $ncEvento  )
				{
					$this->oDatabase->delete( "gtEvento", "ncEvento", $ncEvento  );
				}
			}
	}
?>